#ifndef MYSHAPE_H
#define MYSHAPE_H
#include <AIS_InteractiveObject.hxx>
#include <PrsMgr_PresentationManager3d.hxx>
#include <PrsMgr_Presentation.hxx>
#include <Standard_Real.hxx>
#include <Prs3d_Projector.hxx>
#include <Graphic3d_Group.hxx>

class MyShape : public AIS_InteractiveObject
{
public:
    DEFINE_STANDARD_RTTI(MyShape)
    MyShape();

    virtual void Compute(const Handle(PrsMgr_PresentationManager3d)& aPresentationManager,\
                         const Handle(Prs3d_Presentation)& aPresentation,\
                         const Standard_Integer aMode = 0);

    virtual  void ComputeSelection(const Handle(SelectMgr_Selection)& aSelection,\
                                   const Standard_Integer aMode);


//    virtual void Compute(const Handle(Prs3d_Projector)& aProjector,\
//                         const Handle(Prs3d_Presentation)& aPresentation);


private:
    void make_triangles(Handle_Graphic3d_Group theGroup);
    void make_polyline(Handle_Graphic3d_Group theGroup);
};

DEFINE_STANDARD_HANDLE(MyShape, AIS_InteractiveObject)

#endif // MYSHAPE_H
